package cn.shopifymall.camunda717.service;

import cn.shopifymall.camunda717.entity.WkflTaskEntity;
import org.camunda.bpm.engine.delegate.DelegateTask;
import org.camunda.bpm.model.bpmn.BpmnModelInstance;
import org.camunda.bpm.model.bpmn.instance.FlowNode;

import java.util.List;
import java.util.Set;

/**
 * @Author 孤风雪影
 * @Email gitee.com/efairy520
 * @Date 2024/5/15 0:19
 * @Version 1.0
 */
public interface WorkflowService {
    void syncDataWhenTaskCreate(DelegateTask taskDelegate);

    Set<String> getCandidates(String taskId);

    String autoEntrust(WkflTaskEntity wkflTaskEntity);

    Set<String> getAllowedBackTaskDefKeys(Set<String> allowedKeys,
                                          FlowNode flowNode,
                                          BpmnModelInstance bpmnModelInstance);

    boolean existUnfinishedFeedbackTasks(String taskId);

    List<WkflTaskEntity> queryUnfinishedFeedbackTasks(String taskId);
}
